package com.github.zzay.care.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zzay
 * @className EmployeeDto
 * @description DTO class for entity "Employee"
 * @create 2022/07/07 00:00
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EmployeeDto implements Serializable {

    private static final long serialVersionUID = 1596489251861566266L;

    /**
     * Name.
     */
    @Schema(name = "name", description = "姓名")
    private String name;

    /**
     * ID card number.
     */
    @Schema(name = "idCard", description = "身份证号")
    private String idCard;

    /**
     * Sex (Male: 0 / Female: 1 / Unknown: 2).
     */
    @Schema(name = "sex", description = "性别（0：男，1：女，2：未知）")
    private String sex;

    /**
     * Phone number.
     */
    @Schema(name = "phone", description = "手机号")
    private String phone;

    /**
     * Birthday.
     */
    @Schema(name = "birthday", description = "生日")
    private Date birthday;

    /**
     * Hire date.
     */
    @Schema(name = "hireDate", description = "入职日期")
    private Date hireDate;

    /**
     * Resign date.
     */
    @Schema(name = "resignDate", description = "离职日期")
    private Date resignDate;

    /**
     * Address of profile photo.
     */
    @Schema(name = "profilePhoto", description = "头像图片路径")
    private String profilePhoto;

    /**
     * Directory address of images.
     */
    @Schema(name = "imageDir", description = "图像目录路径")
    private String imageDir;

    public EmployeeDto(String name, String idCard, String sex, String phone, Date birthday, Date hireDate) {
        this.name = name;
        this.idCard = idCard;
        this.sex = sex;
        this.phone = phone;
        this.birthday = birthday;
        this.hireDate = hireDate;
    }
}
